package com.baidu.map;

import jdk.internal.org.objectweb.asm.tree.analysis.Value;

import java.util.HashMap;
import java.util.Map;

/**
 * @author tom
 * @date 2022-03-06 16:28
 */
public class Main {

    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        map.put(1, 10);
        map.put(2, 20);
        map.put(3, 30);
        System.out.println("初始化的：" + map);

        map.computeIfAbsent(4, key -> 40);
        System.out.println("如果key本来不存在的： " + map);

        map.computeIfAbsent(3, key -> 50);
        System.out.println("如果key本来存在的： " + map);

        Integer next = map.values().iterator().next();
        System.out.println(next);

//         创建一个 HashMap
//        HashMap<String, Integer> prices = new HashMap<>();
//
//        // 往HashMap中添加映射关系
//        prices.put("Shoes", 200);
//        prices.put("Bag", 300);
//        prices.put("Pant", 150);
//        System.out.println("HashMap: " + prices);
//
//        // 如果key存在，且赋值新的value为null，那么会删除之前的key，且该函数返回null
//        Integer pair = prices.computeIfPresent("Shoes", (key, value) -> null);
//        System.out.println("如果存在且将值赋值为null，返回值为：" + pair);
//        System.out.println(prices);
//
//        // 重新计算鞋加上10%的增值税后的价值
//        int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
//        System.out.println("Price of Shoes after VAT: " + shoesPrice);
//
//        // 输出更新后的HashMap
//        System.out.println("Updated HashMap: " + prices);

    }

}
